SimpleNEB is a demonstration program for the NEB algorithm written in the Python programming language. To run it, you need a working Python installation and the libraries mentioned below (at least numpy and matplotlib). All the neccessary information is provided in the docstring below.
You can download the source code here: SimpleNEB.py
SimpleNEB ========= v 1.1 author: Ondrej Marsalek ondrej.marsalek@matfyz.cz This is a tutorial implementation of the NEB method for finding a minimum energy path and the corresponding saddle point energy in two dimensions. For configuration, see the __init__ method. If you want to configure the SimpleNEB class for a different potential, just add the potential and force as new methods and override the configuration or change the defaults in the __init__ method. Two improvements of the standard NEB method are implemented according to the article: "A climbing image nudged elastic band method for finding saddle points and minimum energy paths" Henkelman G, Uberuaga B P, Jonsson H J Chem Phys, vol. 113, n. 22, 8 December 2000 1) Climbing image Due to this, the highest energy is the saddle point energy, no interpolation needed. 2) Variable spring constants This provides higher resolution around the saddle point, increasing precission. The calculation of tangents is based on this article: G. Henkelman, G. Johannesson, and H. Jonsson "Methods for Finding Saddle Points and Minimum Energy Paths" in Progress on Theoretical Chemistry and Physics, 269-300 Ed. S. D. Schwartz (Kluwer Academic Publishers, 2000) Both articles can be found here: http://theory.cm.utexas.edu/henkelman/pubs/ The program needs the following python modules: * numpy - fast arrays * matplotlib - for plotting, pylab interface * scipy - optional, scipy.weave can be used for the provided example potential CHANGELOG: 1.1 corrected bug in spring force projection plotting to file added optimizer changed to simple steepest descend (more stable) 1.0 initial release